package controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.TreeMap;
import java.util.TreeSet;
import javax.swing.JFrame;
import javax.swing.JTextField;
import model.kwalificatiebeheer.Kerntaak;
import model.kwalificatiebeheer.Uitstroomrichting;
import model.kwalificatiebeheer.Werkproces;
import view.AddWerkprocesFrame;
import view.KerntaakPanel;

public class KerntaakPanelActions implements ActionListener {
	private KerntaakPanel sender;
	
	public KerntaakPanelActions(KerntaakPanel sender){
		this.sender = sender;
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		JTextField tf = sender.getTextField();		
		if (e.getActionCommand().equals("save")) {
			Kerntaak kt = sender.getKerntaak();
			kt.setTitle(tf.getText());
			JFrame frame = (JFrame)(sender.getTopLevelAncestor());
			frame.dispose();
		}else if (e.getActionCommand().equals("btnDelete")){			
			TreeMap<Uitstroomrichting, TreeSet<Werkproces>> list = sender.getKerntaak().getUitstroomWerkprocessen();
			ArrayList<Uitstroomrichting> uits = new ArrayList(list.keySet());
			Uitstroomrichting uit = uits.get(sender.getWpList().getSelectedColumn());
			ArrayList<Werkproces> wps = new ArrayList<Werkproces>(list.get(uit));
			Werkproces wp = wps.get(sender.getWpList().getSelectedRow());
			sender.getKerntaak().deleteWerkproces(uit, wp);
		}else if(e.getActionCommand().equals("btnAddWp")){
			Kerntaak kt = sender.getKerntaak();
			new AddWerkprocesFrame(kt);
		}
	}
}